<template>
    <div class='song-lsit'>
        <!-- 导航栏 -->
        <van-nav-bar fixed placeholder title="歌单详情" left-text="返回" left-arrow @click-left="onClickLeft">

        </van-nav-bar>
        <!-- 歌单首部 -->
        <div class="header">
            <img :src="song.logo" alt="">
            <h4>{{song.dissname}}</h4>
            <div class="nick">
                <img :src="song.headurl" alt="" />
                <span>{{song.nickname}}</span>
            </div>
            <span>播放量:{{song.visitnum |numFilter(1) }} 万</span>
        </div>
        <!-- 歌单列表 -->
        <div class="list">
            <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
                <div v-for="(item, index) in list" :key="index" :title="item" class="song">
                    <h3>{{item.songname}}</h3>
                    <div class="singers">
                        <span v-for="(singer,i) in item.singer" :key="singer.id">
                            {{singer.name}}
                            <span v-show="i !=item.singer.length -1">/</span>
                        </span>
                        <span v-show="item.albumname">
                            <span>·</span>
                            <span>{{item.albumname}}</span>
                        </span>
                    </div>
                </div>
            </van-list>
        </div>
    </div>
</template>
<script>
export default {
    name: 'SongList',
    data() {
        return {
            song: {
                dissname: "",  // 标题
                logo: "", // 歌单logo
                headurl: "", // 歌单制作者头像
                nickname: "", // 歌单制作者昵称
                visitnum: 0 // 歌单播放量
            },
            songList: [], // 歌曲列表
            songnum: 0, // 歌曲列表数目
            list: [],
            loading: false,
            finished: false
        }
    },
    created() {
        this.getListData()
    },
    methods: {
        getListData() {
            this.$request('get', `songlist?id=${this.$route.params.id}`)
                .then(res => {
                    console.log(res);
                    this.song.dissname = res.data.dissname;
                    this.song.logo = res.data.logo;
                    this.song.headurl = res.data.headurl;
                    this.song.nickname = res.data.nickname;
                    this.song.visitnum = res.data.visitnum;
                    this.songList = res.data.songlist; // 获取歌曲列表信息
                    this.songnum = res.data.songnum; // 获取歌曲数目
                })
        },
        onClickLeft() {
            window.history.length > 1 ? this.$router.go(-1) : this.$router.push("/")
        },
        onLoad() {
            setTimeout(() => {
                this.list = this.list.concat(this.songList.splice(0, 10))
                this.loading = false
                if (this.list.length >= this.songnum) {
                    this.finished = true
                }
            }, 1000);
        }
    }
}
</script>
<style scoped>
.header>img {
    width: 50%;
    border-radius: 1rem;
}

.nike {
    overflow: hidden;
}

.nick>img {
    width: 1.5rem;
    border-radius: 50%;
    margin-right: 0.5rem;
}

.nick>span {
    height: 2rem;
    display: inline-block;
    vertical-align: middle;
    font-size: 0.8rem;
}

.header>span {
    font-size: 0.9rem;
}

.song {
    margin-bottom: 1rem;
}

.song>h3 {
    text-align: left;
    font-size: 1rem;
    padding: 0 2rem;
    margin: 0;
}

.singers {
    text-align: left;
    padding: 0 2rem;

}

.singers span {
    font-size: 0.8rem;
    color: gray;
}

.singers>span:nth-last-child(1)>span:nth-child(1) {
    margin: 0 0.3rem;
    font-weight: 900;
    color: red;
}
</style>